[INFO] cloning repository https://github.com/NWPlayer123/hex264
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NWPlayer123/hex264" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNWPlayer123%2Fhex264", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNWPlayer123%2Fhex264'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d5524a20ea7daf95f86073e2ef978dd684773c63
[INFO] fixing NWPlayer123/hex264 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNWPlayer123%2Fhex264" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/NWPlayer123/hex264
[INFO] finished tweaking git repo https://github.com/NWPlayer123/hex264
[INFO] tweaked toml for git repo https://github.com/NWPlayer123/hex264 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NWPlayer123/hex264 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NWPlayer123/hex264 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded c2rust-bitfields v0.22.1
[INFO] [stderr]   Downloaded c2rust-bitfields-derive v0.22.1
[INFO] [stderr]   Downloaded libc v0.2.184
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd
[INFO] running `Command { std: "docker" "start" "032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling c2rust-bitfields-derive v0.22.1
[INFO] [stderr]     Checking c2rust-bitfields v0.22.1
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking hex264 v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3211:31
[INFO] [stdout]      |
[INFO] [stdout] 3211 |             if !(libc::strcmp(name.as_ptr(), c"SSE".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_SSE2 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3214:31
[INFO] [stdout]      |
[INFO] [stdout] 3214 |             if !(libc::strcmp(name.as_ptr(), c"SSE2".as_ptr()) == 0
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3219:31
[INFO] [stdout]      |
[INFO] [stdout] 3219 |             if !(libc::strcmp(name.as_ptr(), c"SSE3".as_ptr()) == 0
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3224:31
[INFO] [stdout]      |
[INFO] [stdout] 3224 |             if !(libc::strcmp(name.as_ptr(), c"SSE4.1".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_SSE42 != 0)
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3228:31
[INFO] [stdout]      |
[INFO] [stdout] 3228 |             if !(libc::strcmp(name.as_ptr(), c"LZCNT".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_BMI1 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3231:31
[INFO] [stdout]      |
[INFO] [stdout] 3231 |             if !(libc::strcmp(name.as_ptr(), c"BMI1".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_BMI2 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3234:31
[INFO] [stdout]      |
[INFO] [stdout] 3234 |             if !(libc::strcmp(name.as_ptr(), c"FMA4".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_FMA3 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mastering_display` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/encoder.rs:6008:45
[INFO] [stdout]      |
[INFO] [stdout] 6008 |             if (*h).param.mastering_display.mastering_display {
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `i_green_x`, `i_green_y`, `i_blue_x`, `i_blue_y`, `i_red_x` ... and 5 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_null` found for struct `String` in the current scope
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1353:60
[INFO] [stdout]      |
[INFO] [stdout] 1353 |                         assert!(!(*h).param.rc.psz_stat_in.is_null());
[INFO] [stdout]      |                                                            ^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1355:71
[INFO] [stdout]      |
[INFO] [stdout] 1355 | ...                   crate::src::common::base::x264_slurp_file((*h).param.rc.psz_stat_in);
[INFO] [stdout]      |                       ----------------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i8`, found `String`
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/common/base.rs:293:26
[INFO] [stdout]      |
[INFO] [stdout]  293 | pub unsafe extern "C" fn x264_slurp_file(
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]  294 |     mut filename: *const ::core::ffi::c_char,
[INFO] [stdout]      |     ----------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_null` found for unit type `()` in the current scope
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1363:48
[INFO] [stdout]      |
[INFO] [stdout] 1363 | ...                   if mbtree_stats_in.is_null() {
[INFO] [stdout]      |                                          ^^^^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1367:54
[INFO] [stdout]      |
[INFO] [stdout] 1367 | ...                   crate::stdlib::fopen(mbtree_stats_in, c"rb".as_ptr());
[INFO] [stdout]      |                       -------------------- ^^^^^^^^^^^^^^^ expected `*const i8`, found `()`
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                   found unit type `()`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> lib.rs:1080:16
[INFO] [stdout]      |
[INFO] [stdout] 1080 |         pub fn fopen(
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout] 1081 |             __filename: *const ::core::ffi::c_char,
[INFO] [stdout]      |             ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1919:37
[INFO] [stdout]      |
[INFO] [stdout] 1919 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".temp".as_ptr());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `*mut i8`, found `String`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1919:53
[INFO] [stdout]      |
[INFO] [stdout] 1919 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".temp".as_ptr());
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: types differ in mutability
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1919:81
[INFO] [stdout]      |
[INFO] [stdout] 1919 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".temp".as_ptr());
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                 found raw pointer `*const i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:996:22
[INFO] [stdout]      |
[INFO] [stdout]  996 | unsafe extern "C" fn strcat_filename(
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]  997 |     mut input: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     -----------------------------------
[INFO] [stdout]  998 |     mut suffix: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     ------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1941:41
[INFO] [stdout]      |
[INFO] [stdout] 1941 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree.temp".as_ptr());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `*mut i8`, found `String`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1941:57
[INFO] [stdout]      |
[INFO] [stdout] 1941 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree.temp".as_ptr());
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: types differ in mutability
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1941:85
[INFO] [stdout]      |
[INFO] [stdout] 1941 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree.temp".as_ptr());
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                 found raw pointer `*const i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:996:22
[INFO] [stdout]      |
[INFO] [stdout]  996 | unsafe extern "C" fn strcat_filename(
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]  997 |     mut input: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     -----------------------------------
[INFO] [stdout]  998 |     mut suffix: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     ------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1943:41
[INFO] [stdout]      |
[INFO] [stdout] 1943 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree".as_ptr());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `*mut i8`, found `String`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1943:57
[INFO] [stdout]      |
[INFO] [stdout] 1943 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree".as_ptr());
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: types differ in mutability
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1943:85
[INFO] [stdout]      |
[INFO] [stdout] 1943 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree".as_ptr());
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                 found raw pointer `*const i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:996:22
[INFO] [stdout]      |
[INFO] [stdout]  996 | unsafe extern "C" fn strcat_filename(
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]  997 |     mut input: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     -----------------------------------
[INFO] [stdout]  998 |     mut suffix: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     ------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0605]: non-primitive cast: `()` as `*mut c_void`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1368:65
[INFO] [stdout]      |
[INFO] [stdout] 1368 | ...                   crate::src::common::base::x264_free(mbtree_stats_in as *mut ::core::ffi::c_void);
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:20
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `&mut x264_param_t`, found `*mut x264_param_t`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:63
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                                                               ^^^^^^^^^^
[INFO] [stdout]      = note: expected mutable reference `&mut x264_param_t`
[INFO] [stdout]                       found raw pointer `*mut x264_param_t`
[INFO] [stdout] note: expected `&str`, found `*mut i8`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:75
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                                                                           ^^^
[INFO] [stdout]      = note: expected reference `&str`
[INFO] [stdout]               found raw pointer `*mut i8`
[INFO] [stdout] note: expected `Option<&str>`, found `*mut i8`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:80
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                                                                                ^^^
[INFO] [stdout]      = note:     expected enum `Option<&str>`
[INFO] [stdout]              found raw pointer `*mut i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/common/base.rs:800:8
[INFO] [stdout]      |
[INFO] [stdout]  800 | pub fn x264_param_parse(p: &mut x264_param_t, name: &str, value: Option<&str>) -> Result<(), i32> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^ --------------------  ----------  -------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:88
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                    ----------------------------------------------------------------    ^ expected `Result<(), i32>`, found integer
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    expected because this is `Result<(), i32>`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected enum `Result<(), i32>`
[INFO] [stdout]                 found type `{integer}`
[INFO] [stdout] help: try wrapping the expression in `Err`
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != Err(0) {
[INFO] [stdout]      |                                                                                        ++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2250:71
[INFO] [stdout]      |
[INFO] [stdout] 2250 |                 && crate::stdlib::rename((*rc).psz_stat_file_tmpname, (*h).param.rc.psz_stat_out) != 0i32
[INFO] [stdout]      |                    ---------------------                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i8`, found `String`
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> lib.rs:1075:16
[INFO] [stdout]      |
[INFO] [stdout] 1075 |         pub fn rename(
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 1076 |             __old: *const ::core::ffi::c_char,
[INFO] [stdout] 1077 |             __new: *const ::core::ffi::c_char,
[INFO] [stdout]      |             -----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2255:46
[INFO] [stdout]      |
[INFO] [stdout] 2255 |                     std::ffi::CStr::from_ptr((*h).param.rc.psz_stat_out).to_string_lossy()
[INFO] [stdout]      |                     ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i8`, found `String`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/ffi/c_str.rs:254:24
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_green_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1245:66
[INFO] [stdout]      |
[INFO] [stdout] 1245 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_green_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1245 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_green_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_green_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1246:66
[INFO] [stdout]      |
[INFO] [stdout] 1246 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_green_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1246 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_green_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_blue_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1247:66
[INFO] [stdout]      |
[INFO] [stdout] 1247 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_blue_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1247 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_blue_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_blue_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1248:66
[INFO] [stdout]      |
[INFO] [stdout] 1248 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_blue_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1248 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_blue_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_red_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1249:66
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_red_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_red_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_red_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1250:66
[INFO] [stdout]      |
[INFO] [stdout] 1250 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_red_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1250 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_red_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_white_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1251:66
[INFO] [stdout]      |
[INFO] [stdout] 1251 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_white_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1251 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_white_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_white_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1252:66
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_white_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_white_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_display_max` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1253:61
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         bs_write32(&raw mut q, (*h).param.mastering_display.i_display_max as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `i_green_x`, `i_green_y`, `i_blue_x`, `i_blue_y`, `i_red_x` ... and 5 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_display_min` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1254:61
[INFO] [stdout]      |
[INFO] [stdout] 1254 |         bs_write32(&raw mut q, (*h).param.mastering_display.i_display_min as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `i_green_x`, `i_green_y`, `i_blue_x`, `i_blue_y`, `i_red_x` ... and 5 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3211:31
[INFO] [stdout]      |
[INFO] [stdout] 3211 |             if !(libc::strcmp(name.as_ptr(), c"SSE".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_SSE2 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3214:31
[INFO] [stdout]      |
[INFO] [stdout] 3214 |             if !(libc::strcmp(name.as_ptr(), c"SSE2".as_ptr()) == 0
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3219:31
[INFO] [stdout]      |
[INFO] [stdout] 3219 |             if !(libc::strcmp(name.as_ptr(), c"SSE3".as_ptr()) == 0
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3224:31
[INFO] [stdout]      |
[INFO] [stdout] 3224 |             if !(libc::strcmp(name.as_ptr(), c"SSE4.1".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_SSE42 != 0)
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3228:31
[INFO] [stdout]      |
[INFO] [stdout] 3228 |             if !(libc::strcmp(name.as_ptr(), c"LZCNT".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_BMI1 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3231:31
[INFO] [stdout]      |
[INFO] [stdout] 3231 |             if !(libc::strcmp(name.as_ptr(), c"BMI1".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_BMI2 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/encoder.rs:3234:31
[INFO] [stdout]      |
[INFO] [stdout] 3234 |             if !(libc::strcmp(name.as_ptr(), c"FMA4".as_ptr()) == 0 && (*h).param.cpu & X264_CPU_FMA3 != 0) {
[INFO] [stdout]      |                  ------------ ^^^^^^^^^^^^^ expected `*const i8`, found `*const u8`
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                 found raw pointer `*const u8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.184/src/unix/mod.rs:715:12
[INFO] [stdout]      |
[INFO] [stdout]  715 |     pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `mastering_display` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/encoder.rs:6008:45
[INFO] [stdout]      |
[INFO] [stdout] 6008 |             if (*h).param.mastering_display.mastering_display {
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `i_green_x`, `i_green_y`, `i_blue_x`, `i_blue_y`, `i_red_x` ... and 5 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_null` found for struct `String` in the current scope
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1353:60
[INFO] [stdout]      |
[INFO] [stdout] 1353 |                         assert!(!(*h).param.rc.psz_stat_in.is_null());
[INFO] [stdout]      |                                                            ^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1355:71
[INFO] [stdout]      |
[INFO] [stdout] 1355 | ...                   crate::src::common::base::x264_slurp_file((*h).param.rc.psz_stat_in);
[INFO] [stdout]      |                       ----------------------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i8`, found `String`
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/common/base.rs:293:26
[INFO] [stdout]      |
[INFO] [stdout]  293 | pub unsafe extern "C" fn x264_slurp_file(
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^
[INFO] [stdout]  294 |     mut filename: *const ::core::ffi::c_char,
[INFO] [stdout]      |     ----------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_null` found for unit type `()` in the current scope
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1363:48
[INFO] [stdout]      |
[INFO] [stdout] 1363 | ...                   if mbtree_stats_in.is_null() {
[INFO] [stdout]      |                                          ^^^^^^^ method not found in `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1367:54
[INFO] [stdout]      |
[INFO] [stdout] 1367 | ...                   crate::stdlib::fopen(mbtree_stats_in, c"rb".as_ptr());
[INFO] [stdout]      |                       -------------------- ^^^^^^^^^^^^^^^ expected `*const i8`, found `()`
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                   found unit type `()`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> lib.rs:1080:16
[INFO] [stdout]      |
[INFO] [stdout] 1080 |         pub fn fopen(
[INFO] [stdout]      |                ^^^^^
[INFO] [stdout] 1081 |             __filename: *const ::core::ffi::c_char,
[INFO] [stdout]      |             ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1919:37
[INFO] [stdout]      |
[INFO] [stdout] 1919 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".temp".as_ptr());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `*mut i8`, found `String`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1919:53
[INFO] [stdout]      |
[INFO] [stdout] 1919 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".temp".as_ptr());
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: types differ in mutability
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1919:81
[INFO] [stdout]      |
[INFO] [stdout] 1919 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".temp".as_ptr());
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                 found raw pointer `*const i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:996:22
[INFO] [stdout]      |
[INFO] [stdout]  996 | unsafe extern "C" fn strcat_filename(
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]  997 |     mut input: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     -----------------------------------
[INFO] [stdout]  998 |     mut suffix: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     ------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1941:41
[INFO] [stdout]      |
[INFO] [stdout] 1941 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree.temp".as_ptr());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `*mut i8`, found `String`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1941:57
[INFO] [stdout]      |
[INFO] [stdout] 1941 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree.temp".as_ptr());
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: types differ in mutability
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1941:85
[INFO] [stdout]      |
[INFO] [stdout] 1941 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree.temp".as_ptr());
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                 found raw pointer `*const i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:996:22
[INFO] [stdout]      |
[INFO] [stdout]  996 | unsafe extern "C" fn strcat_filename(
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]  997 |     mut input: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     -----------------------------------
[INFO] [stdout]  998 |     mut suffix: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     ------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1943:41
[INFO] [stdout]      |
[INFO] [stdout] 1943 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree".as_ptr());
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `*mut i8`, found `String`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1943:57
[INFO] [stdout]      |
[INFO] [stdout] 1943 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree".as_ptr());
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: types differ in mutability
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1943:85
[INFO] [stdout]      |
[INFO] [stdout] 1943 | ...                   strcat_filename((*h).param.rc.psz_stat_out, c".mbtree".as_ptr());
[INFO] [stdout]      |                                                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected raw pointer `*mut i8`
[INFO] [stdout]                 found raw pointer `*const i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:996:22
[INFO] [stdout]      |
[INFO] [stdout]  996 | unsafe extern "C" fn strcat_filename(
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]  997 |     mut input: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     -----------------------------------
[INFO] [stdout]  998 |     mut suffix: *mut ::core::ffi::c_char,
[INFO] [stdout]      |     ------------------------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0605]: non-primitive cast: `()` as `*mut c_void`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:1368:65
[INFO] [stdout]      |
[INFO] [stdout] 1368 | ...                   crate::src::common::base::x264_free(mbtree_stats_in as *mut ::core::ffi::c_void);
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:20
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `&mut x264_param_t`, found `*mut x264_param_t`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:63
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                                                               ^^^^^^^^^^
[INFO] [stdout]      = note: expected mutable reference `&mut x264_param_t`
[INFO] [stdout]                       found raw pointer `*mut x264_param_t`
[INFO] [stdout] note: expected `&str`, found `*mut i8`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:75
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                                                                           ^^^
[INFO] [stdout]      = note: expected reference `&str`
[INFO] [stdout]               found raw pointer `*mut i8`
[INFO] [stdout] note: expected `Option<&str>`, found `*mut i8`
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:80
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                                                                                ^^^
[INFO] [stdout]      = note:     expected enum `Option<&str>`
[INFO] [stdout]              found raw pointer `*mut i8`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> src/common/base.rs:800:8
[INFO] [stdout]      |
[INFO] [stdout]  800 | pub fn x264_param_parse(p: &mut x264_param_t, name: &str, value: Option<&str>) -> Result<(), i32> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^ --------------------  ----------  -------------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2064:88
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != 0 {
[INFO] [stdout]      |                    ----------------------------------------------------------------    ^ expected `Result<(), i32>`, found integer
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    expected because this is `Result<(), i32>`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected enum `Result<(), i32>`
[INFO] [stdout]                 found type `{integer}`
[INFO] [stdout] help: try wrapping the expression in `Err`
[INFO] [stdout]      |
[INFO] [stdout] 2064 |                 if crate::src::common::base::x264_param_parse((*z).param, tok, val) != Err(0) {
[INFO] [stdout]      |                                                                                        ++++ +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2250:71
[INFO] [stdout]      |
[INFO] [stdout] 2250 |                 && crate::stdlib::rename((*rc).psz_stat_file_tmpname, (*h).param.rc.psz_stat_out) != 0i32
[INFO] [stdout]      |                    ---------------------                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i8`, found `String`
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> lib.rs:1075:16
[INFO] [stdout]      |
[INFO] [stdout] 1075 |         pub fn rename(
[INFO] [stdout]      |                ^^^^^^
[INFO] [stdout] 1076 |             __old: *const ::core::ffi::c_char,
[INFO] [stdout] 1077 |             __new: *const ::core::ffi::c_char,
[INFO] [stdout]      |             -----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/encoder/ratecontrol.rs:2255:46
[INFO] [stdout]      |
[INFO] [stdout] 2255 |                     std::ffi::CStr::from_ptr((*h).param.rc.psz_stat_out).to_string_lossy()
[INFO] [stdout]      |                     ------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `*const i8`, found `String`
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     arguments to this function are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected raw pointer `*const i8`
[INFO] [stdout]                      found struct `String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/ffi/c_str.rs:254:24
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_green_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1245:66
[INFO] [stdout]      |
[INFO] [stdout] 1245 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_green_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1245 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_green_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_green_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1246:66
[INFO] [stdout]      |
[INFO] [stdout] 1246 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_green_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1246 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_green_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_blue_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1247:66
[INFO] [stdout]      |
[INFO] [stdout] 1247 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_blue_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1247 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_blue_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_blue_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1248:66
[INFO] [stdout]      |
[INFO] [stdout] 1248 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_blue_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1248 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_blue_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_red_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1249:66
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_red_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_red_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_red_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1250:66
[INFO] [stdout]      |
[INFO] [stdout] 1250 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_red_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1250 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_red_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_white_x` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1251:66
[INFO] [stdout]      |
[INFO] [stdout] 1251 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_white_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1251 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_white_x as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_white_y` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1252:66
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.i_white_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  ^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]      |
[INFO] [stdout] 1252 |         bs_write(&raw mut q, 16i32, (*h).param.mastering_display.unwrap().i_white_y as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_display_max` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1253:61
[INFO] [stdout]      |
[INFO] [stdout] 1253 |         bs_write32(&raw mut q, (*h).param.mastering_display.i_display_max as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `i_green_x`, `i_green_y`, `i_blue_x`, `i_blue_y`, `i_red_x` ... and 5 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `i_display_min` on type `Option<MasteringDisplay>`
[INFO] [stdout]     --> src/encoder/set.rs:1254:61
[INFO] [stdout]      |
[INFO] [stdout] 1254 |         bs_write32(&raw mut q, (*h).param.mastering_display.i_display_min as crate::stdlib::uint32_t);
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]      |
[INFO] [stdout]      = note: available fields are: `i_green_x`, `i_green_y`, `i_blue_x`, `i_blue_y`, `i_red_x` ... and 5 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `h.reconfig_h.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:3598:30
[INFO] [stdout]      |
[INFO] [stdout] 3598 |         let mut param_save = (*(*h).reconfig_h).param;
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `h.reconfig_h.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]      |
[INFO] [stdout] 3598 |         let mut param_save = &(*(*h).reconfig_h).param;
[INFO] [stdout]      |                              +
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 3598 |         let mut param_save = (*(*h).reconfig_h).param.clone();
[INFO] [stdout]      |                                                      ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `h.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:3599:36
[INFO] [stdout]      |
[INFO] [stdout] 3599 |         (*(*h).reconfig_h).param = (*h).param;
[INFO] [stdout]      |                                    ^^^^^^^^^^ move occurs because `h.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 3599 |         (*(*h).reconfig_h).param = (*h).param.clone();
[INFO] [stdout]      |                                              ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `src.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:5299:24
[INFO] [stdout]      |
[INFO] [stdout] 5299 |         (*dst).param = (*src).param;
[INFO] [stdout]      |                        ^^^^^^^^^^^^ move occurs because `src.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 5299 |         (*dst).param = (*src).param.clone();
[INFO] [stdout]      |                                    ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `h.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:5397:30
[INFO] [stdout]      |
[INFO] [stdout] 5397 |                 (*t).param = (*h).param;
[INFO] [stdout]      |                              ^^^^^^^^^^ move occurs because `h.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 5397 |                 (*t).param = (*h).param.clone();
[INFO] [stdout]      |                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `h.reconfig_h.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:3598:30
[INFO] [stdout]      |
[INFO] [stdout] 3598 |         let mut param_save = (*(*h).reconfig_h).param;
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `h.reconfig_h.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]      |
[INFO] [stdout] 3598 |         let mut param_save = &(*(*h).reconfig_h).param;
[INFO] [stdout]      |                              +
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 3598 |         let mut param_save = (*(*h).reconfig_h).param.clone();
[INFO] [stdout]      |                                                      ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `h.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:3599:36
[INFO] [stdout]      |
[INFO] [stdout] 3599 |         (*(*h).reconfig_h).param = (*h).param;
[INFO] [stdout]      |                                    ^^^^^^^^^^ move occurs because `h.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 3599 |         (*(*h).reconfig_h).param = (*h).param.clone();
[INFO] [stdout]      |                                              ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `src.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:5299:24
[INFO] [stdout]      |
[INFO] [stdout] 5299 |         (*dst).param = (*src).param;
[INFO] [stdout]      |                        ^^^^^^^^^^^^ move occurs because `src.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 5299 |         (*dst).param = (*src).param.clone();
[INFO] [stdout]      |                                    ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `h.param` which is behind a raw pointer
[INFO] [stdout]     --> src/encoder/encoder.rs:5397:30
[INFO] [stdout]      |
[INFO] [stdout] 5397 |                 (*t).param = (*h).param;
[INFO] [stdout]      |                              ^^^^^^^^^^ move occurs because `h.param` has type `x264_param_t`, which does not implement the `Copy` trait
[INFO] [stdout]      |
[INFO] [stdout] help: consider cloning the value if the performance cost is acceptable
[INFO] [stdout]      |
[INFO] [stdout] 5397 |                 (*t).param = (*h).param.clone();
[INFO] [stdout]      |                                        ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0507, E0599, E0605, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hex264` (lib) due to 34 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0308, E0507, E0599, E0605, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hex264` (lib test) due to 34 previous errors
[INFO] running `Command { std: "docker" "inspect" "032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd", kill_on_drop: false }`
[INFO] [stdout] 032dd74a2418e12bef11044b60b22264e0bc071aac2452b86cde41a9def360bd
